home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2005 October / PCWOCT05.iso / Software / FromTheMag / XAMPP 1.4.14 / xampp-win32-1.4.14-installer.exe / xampp / phpMyAdmin / db_details.php < prev    next >
PHP Script  |  2005-03-07  |  13KB  |  268 lines

  1. <?php
  2. /* $Id: db_details.php,v 2.17 2005/03/07 21:30:57 lem9 Exp $ */
  3. // vim: expandtab sw=4 ts=4 sts=4:
  4.  
  5.  
  6. /**
  7.  * Runs common work
  8.  */
  9. require('./db_details_common.php');
  10. $url_query .= '&goto=db_details.php';
  11.  
  12.  
  13. /**
  14.  * Database work
  15.  */
  16. if (isset($show_query) && $show_query == '1') {
  17.     // This script has been called by read_dump.php
  18.     if (isset($sql_query_cpy)) {
  19.         $query_to_display = $sql_query_cpy;
  20.     }
  21.     // Other cases
  22.     else {
  23.         $query_to_display = $sql_query;
  24.     }
  25. } else {
  26.     $query_to_display     = '';
  27. }
  28.  
  29.  
  30. /**
  31.  * Gets informations about the database and, if it is empty, move to the
  32.  * "db_details_structure.php" script where table can be created
  33.  */
  34. $sub_part    = '';
  35. require('./db_details_db_info.php');
  36. if ($num_tables == 0 && empty($db_query_force)) {
  37.     $is_info = TRUE;
  38.     require('./db_details_structure.php');
  39.     exit();
  40. }
  41.  
  42. // loic1: defines wether file upload is available or not
  43. // (now defined in common.lib.php)
  44.  
  45. $auto_sel  = ($cfg['TextareaAutoSelect']
  46.                // 2003-02-05 rabus: This causes big trouble with Opera 7 for
  47.                // Windows, so let's disable it there...
  48.                && !(PMA_USR_OS == 'Win' && PMA_USR_BROWSER_AGENT == 'OPERA' && PMA_USR_BROWSER_VER >= 7))
  49.            ? "\n" . '             onfocus="if (typeof(document.layers) == \'undefined\' || typeof(textarea_selected) == \'undefined\') {textarea_selected = 1; this.form.elements[\'sql_query\'].select();}"'
  50.            : '';
  51.  
  52.  
  53. // for better administration
  54. $strHiddenFields = '        <input type="hidden" name="is_js_confirmed" value="0" />'  ."\n"
  55.                  . '        ' .PMA_generate_common_hidden_inputs($db) . "\n"
  56.                  . '        <input type="hidden" name="pos" value="0" />' . "\n"
  57.                  . '        <input type="hidden" name="goto" value="db_details.php" />' . "\n"
  58.                  . '        <input type="hidden" name="zero_rows" value="' . htmlspecialchars($strSuccess) . '" />' . "\n"
  59.                  . '        <input type="hidden" name="prev_sql_query" value="' . ((!empty($query_to_display)) ? htmlspecialchars($query_to_display) : '') . '" />' . "\n";
  60. ?>
  61. <!-- Query box, sql file loader and bookmark support -->
  62. <form method="post" action="read_dump.php"<?php if ($is_upload) echo ' enctype="multipart/form-data"'; ?> onsubmit="return checkSqlQuery(this)" name="sqlform">
  63. <?php
  64. echo $strHiddenFields;
  65. ?>
  66. <a name="querybox"></a>
  67. <table border="0" cellpadding="2" cellspacing="0">
  68. <tr><td class="tblHeaders" colspan="2">
  69.     <?php
  70.            // if you want navigation:
  71.            $strDBLink = '<a href="' . $GLOBALS['cfg']['DefaultTabDatabase'] . $header_url_qry . '&db=' . urlencode($db) . '">'
  72.                       . htmlspecialchars($db) . '</a>';
  73.            // else use
  74.            // $strDBLink = htmlspecialchars($db);
  75.             echo ' ' . sprintf($strRunSQLQuery, $strDBLink) . ': ' . PMA_showMySQLDocu('Reference', 'SELECT');
  76.  
  77.     ?>
  78. </td></tr>
  79. <tr align="center" bgcolor="<?php echo $cfg['BgcolorOne']; ?>"><td colspan="2">
  80. <textarea name="sql_query" cols="<?php echo $cfg['TextareaCols'] * 2; ?>" rows="<?php echo $cfg['TextareaRows']; ?>" dir="<?php echo $text_dir; ?>"<?php echo $auto_sel; ?>>
  81. <?php
  82. if (!empty($query_to_display)) {
  83.     echo htmlspecialchars($query_to_display);
  84. } else {
  85.     echo htmlspecialchars(str_replace('%d', PMA_backquote($db), $cfg['DefaultQueryDatabase']));
  86. }
  87. ?></textarea>
  88. </td></tr>
  89. <tr bgcolor="<?php echo $cfg['BgcolorOne']; ?>">
  90.     <td>
  91.         <input type="checkbox" name="show_query" value="1" id="checkbox_show_query" checked="checked" /><label for="checkbox_show_query"><?php echo $strShowThisQuery; ?></label>
  92.     </td>
  93.     <td align="right"><input type="submit" name="SQL" value="<?php echo $strGo; ?>" /></td>
  94. </tr>
  95. <?php
  96. // loic1: displays import dump feature only if file upload available
  97. if ($is_upload) {
  98. ?>
  99. <tr><td colspan="2"><img src="<?php echo $GLOBALS['pmaThemeImage'] . 'spacer.png'; ?>" width="1" height="1" border="0" alt="" /></td></tr>
  100. <tr>
  101.     <td colspan="2" class="tblHeaders">
  102.     <?php
  103.         echo '    <i> ' . $strOr . '</i>' . "\n";
  104.     ?>
  105.     </td>
  106. </tr>
  107. <tr><td colspan="2" bgcolor="<?php echo $cfg['BgcolorTwo']; ?>"><b> <?php echo $strLocationTextfile . ':'; ?></b></td></tr>
  108. <tr bgcolor="<?php echo $cfg['BgcolorOne']; ?>">
  109.   <td colspan="2" align="center">
  110.     <input type="file" name="sql_file" class="textfield" /> 
  111.     <?php
  112.     echo PMA_displayMaximumUploadSize($max_upload_size) . '<br />';
  113.     // some browsers should respect this :)
  114.     echo '    ' . PMA_generateHiddenMaxFileSize($max_upload_size) . "\n";
  115.     $is_gzip = ($cfg['GZipDump'] && @function_exists('gzopen'));
  116.     $is_bzip = ($cfg['BZipDump'] && @function_exists('bzdecompress'));
  117.     if ($is_bzip || $is_gzip) {
  118.         echo '    </td>' . "\n"
  119.            . '</tr>'   . "\n"
  120.            . '<tr bgcolor="' . $cfg['BgcolorOne'] . '">' . "\n"
  121.            . '    <td colspan="2">' . "\n";
  122.         echo '          ' . $strCompression . ':<br />   ' . "\n"
  123.            . '            <input type="radio" id="radio_sql_file_compression_auto" name="sql_file_compression" value="" checked="checked" /><label for="radio_sql_file_compression_auto">' . $strAutodetect . '</label>  ' . "\n"
  124.            . '            <input type="radio" id="radio_sql_file_compression_plain" name="sql_file_compression" value="text/plain" /><label for="radio_sql_file_compression_plain">' . $strNone . '</label>  ' . "\n";
  125.         if ($is_gzip) {
  126.             echo '            <input type="radio" id="radio_sql_file_compression_gzip" name="sql_file_compression" value="application/x-gzip" /><label for="radio_sql_file_compression_gzip">' . $strGzip . '</label>  ' . "\n";
  127.         }
  128.         if ($is_bzip) {
  129.             echo '            <input type="radio" id="radio_sql_file_compression_bzip" name="sql_file_compression" value="application/x-bzip" /><label for="radio_sql_file_compression_bzip">' . $strBzip . '</label>  ' . "\n";
  130.         }
  131.     } else {
  132.     ?>
  133.         <input type="hidden" name="sql_file_compression" value="text/plain" />
  134.     </td>
  135. </tr>
  136.     <?php
  137.     }
  138. } // end if (is upload)
  139. // web-server upload directory
  140. $is_upload_dir = false;
  141. if (!empty($cfg['UploadDir'])) {
  142.     if (substr($cfg['UploadDir'], -1) != '/') {
  143.         $cfg['UploadDir'] .= '/';
  144.     }
  145.     if ($handle = @opendir($cfg['UploadDir'])) {
  146.         $is_first = 0;
  147.         while ($file = @readdir($handle)) {
  148.             if (is_file($cfg['UploadDir'] . $file) && PMA_checkFileExtensions($file, '.sql')) {
  149.                 if ($is_first == 0) {
  150.                     $is_upload_dir = true;
  151.                     echo "\n";
  152.                     echo '    <tr><td colspan=2" bgcolor="' . $cfg['BgcolorTwo'] . '">' . "\n";
  153.                     echo '         <b>' . $strWebServerUploadDirectory . ':</b> ' . "\n";
  154.                     echo '    </td></tr>' . "\n";
  155.                     echo '    <tr bgcolor="' . $cfg['BgcolorOne'] . '"><td colspan="2">' . "\n";
  156.                     // add 2004-05-08 by mkkeck
  157.                     // todo: building a php script for indexing files in UploadDir
  158.                     //if ($cfg['UploadDirIndex']) {
  159.                     //    echo ' <a href="' . $cfg['UploadDir'] . '" target="_blank">' . $cfg['UploadDir'] . '</a> ';
  160.                     //}
  161.                     // end indexing
  162.                     echo '        <select size="1" name="sql_localfile">' . "\n";
  163.                     echo '            <option value="" selected="selected"></option>' . "\n";
  164.                 } // end if (is_first)
  165.                 echo '            <option value="' . htmlspecialchars($file) . '">' . htmlspecialchars($file) . '</option>' . "\n";
  166.                 $is_first++;
  167.             } // end if (is_file)
  168.         } // end while
  169.         if ($is_first > 0) {
  170.             echo '        </select>' . "\n"
  171.                . '    </td>'
  172.                . '    </tr>' . "\n\n";
  173.         } // end if (isfirst > 0)
  174.         @closedir($handle);
  175.     }
  176.     else {
  177.         $upload_dir_error = '<tr><td colspan="2"><img src="' .$GLOBALS['pmaThemeImage'] . 'spacer.png'  . '" width="1" height="1" border="0" alt="" /></td></tr>' . "\n"
  178.                           . '<tr><th colspan="2" class="tblHeadError"><div class="errorhead">' . $strError . '</div></th></tr>' . "\n"
  179.                           . '<tr><td colspan="2" class="tblError">' . $strWebServerUploadDirectoryError
  180.                           . '</td></tr>' . "\n";
  181.     }
  182. } // end if (web-server upload directory)
  183. // Charset conversion options
  184. if ($is_upload || $is_upload_dir) {
  185.     if (PMA_MYSQL_INT_VERSION < 40100 && $cfg['AllowAnywhereRecoding'] && $allow_recoding) {
  186.         echo '    <tr bgcolor="' .$cfg['BgcolorTwo'] . '"><td>' . "\n";
  187.         $temp_charset = reset($cfg['AvailableCharsets']);
  188.         echo ' ' . $strCharsetOfFile . "\n"
  189.              . '    <select name="charset_of_file" size="1">' . "\n"
  190.              . '            <option value="' . $temp_charset . '"';
  191.         if ($temp_charset == $charset) {
  192.             echo ' selected="selected"';
  193.         }
  194.         echo '>' . $temp_charset . '</option>' . "\n";
  195.         while ($temp_charset = next($cfg['AvailableCharsets'])) {
  196.             echo '            <option value="' . $temp_charset . '"';
  197.             if ($temp_charset == $charset) {
  198.                 echo ' selected="selected"';
  199.             }
  200.             echo '>' . $temp_charset . '</option>' . "\n";
  201.         }
  202.         echo '        </select><br />' . "\n" . '    ';
  203.         echo '    </td>' . "\n";
  204.         echo '    <td align="right"><input type="submit" name="SQL" value="' . $strGo . '" /></td>' . "\n";
  205.         echo '    </tr>' . "\n";
  206.     } elseif (PMA_MYSQL_INT_VERSION >= 40100) {
  207.         echo '    <tr bgcolor="' .$cfg['BgcolorTwo'] . '"><td>' . "\n"
  208.            . $strCharsetOfFile . "\n";
  209.         echo PMA_generateCharsetDropdownBox(PMA_CSDROPDOWN_CHARSET, 'charset_of_file', NULL, 'utf8', FALSE);
  210.         echo '    </td>' . "\n";
  211.         echo '    <td align="right"><input type="submit" name="SQL" value="' . $strGo . '" /></td>' . "\n";
  212.         echo '    </tr>' . "\n";
  213.     }else{
  214.         echo '   <tr bgcolor="' . $cfg['BgcolorTwo'] . '"><td align="right" colspan="2"><input type="submit" name="SQL" value="' . $strGo . '" /></td></tr>' . "\n\n";
  215.     } // end if (recoding)
  216. }
  217. // Bookmark Support
  218. if ($cfg['Bookmark']['db'] && $cfg['Bookmark']['table']) {
  219.     if (($bookmark_list = PMA_listBookmarks($db, $cfg['Bookmark'])) && count($bookmark_list) > 0) {
  220.         echo '    <tr><td colspan="2"><img src="' .$GLOBALS['pmaThemeImage'] . 'spacer.png'  . '" width="1" height="1" border="0" alt="" /></td></tr>' . "\n";
  221.         echo '    <tr><td colspan="2" class="tblHeaders"> <i>' . $strOr . '</i></td></tr>' . "\n";
  222.         echo '    <tr bgcolor="' . $cfg['BgcolorOne'] . '"><td colspan="2">' . "\n";
  223.         echo '        <b>' . $strBookmarkQuery . ':</b> ' . "\n";
  224.         echo '        <select name="id_bookmark">' . "\n";
  225.         echo '            <option value=""></option>' . "\n";
  226.         foreach ($bookmark_list AS $key => $value) {
  227.             echo '            <option value="' . htmlspecialchars($key) . '">' . htmlspecialchars($value) . '</option>' . "\n";
  228.         }
  229.         echo '        </select>' . "\n";
  230.         echo '    </td></tr><tr bgcolor="' . $cfg['BgcolorOne'] . '"><td colspan="2">';
  231.         echo '            ' . $strVar . ' ';
  232.         if ($cfg['ReplaceHelpImg']){
  233.             echo '<a href="./Documentation.html#faqbookmark" target="documentation">'
  234.              . '<img src="' .$pmaThemeImage . 'b_help.png" border="0" width="11" height="11" align="middle" alt="' . $strDocu . '" /></a>';
  235.         }else{
  236.             echo '(<a href="./Documentation.html#faqbookmark" target="documentation">' . $strDocu . '</a>): ';
  237.         }
  238.         echo '        <input type="text" name="bookmark_variable" class="textfield" size="10" />' . "\n";
  239.         echo '    </td></tr><tr bgcolor="' . $cfg['BgcolorOne'] . '"><td>';
  240.         echo '        <input type="radio" name="action_bookmark" value="0" id="radio_bookmark0" checked="checked" style="vertical-align: middle" /><label for="radio_bookmark0">' . $strSubmit . '</label>' . "\n";
  241.         echo '         <input type="radio" name="action_bookmark" value="1" id="radio_bookmark1" style="vertical-align: middle" /><label for="radio_bookmark1">' . $strBookmarkView . '</label>' . "\n";
  242.         echo '         <input type="radio" name="action_bookmark" value="2" id="radio_bookmark2" style="vertical-align: middle" /><label for="radio_bookmark2">' . $strDelete . '</label>' . "\n";
  243.         echo '        </td>' . "\n";
  244.         echo '        <td align="right"><input type="submit" name="SQL" value="' . $strGo . '" /></td>';
  245.         echo '    </tr>' . "\n";
  246.    }
  247. }
  248.  
  249. // Encoding setting form appended by Y.Kawada
  250. if (function_exists('PMA_set_enc_form')) {
  251.     echo PMA_set_enc_form('    ');
  252. }
  253. // modified by mkkeck 2004-05-08
  254. //   showing UploadDir Error at the end of all option for SQL-Queries
  255. if (isset($upload_dir_error)) {
  256.     echo $upload_dir_error;
  257. }
  258. ?>
  259. </table>
  260. </form>
  261. <?php
  262. /**
  263.  * Displays the footer
  264.  */
  265. echo "\n";
  266. require_once('./footer.inc.php');
  267. ?>
  268.